1. The Field of the Invention
The present invention relates to the field of storage controllers and more particularly to storage controllers for redundant disk arrays.
2. The Relevant Art
Modern computer networks and systems require reliable means for the storage of data. For example, the wide-spread usage of online databases for conducting transactions and data retrieval has increased the demand for large data stores with non-stop, low-latency access. Various systems using redundant arrays of independent disk drives (RAID) have been developed and deployed in response to this need.
Customer requirements for RAID systems are highly application dependent. RAID systems vary in their interconnection architectures, physical packaging and dimensions, redundancy methods, fail-safe mechanisms, and the like. The disk drives available for use within RAID systems are also vary in their physical specifications, storage capacities, performance capabilities, and electrical interface. Due to the non-standardization in the aforementioned areas, a great deal of flexibility is required of RAID controllers.
As with many computing devices, much of the flexibility required of RAID controllers is achieved using configuration options stored in some type of non-volatile memory. The control software reads the configuration options, makes appropriate adjustments within peripheral devices and components, and changes its program flow to accomplish the desired behavior. As a consequence, much of the development cost of a RAID controller lies in the development of the control processor and associated firmware.
Another costly area of development is the architecting, characterizing and testing of the high bandwidth data paths that largely determine the performance of a RAID controller. The key performance metrics of access latency, throughput and reliability are directly affected by the design of these data paths. Due to these and other issues, the cost of re-architecting and redesigning a RAID controller for each possible system is prohibitive.
In contrast to the advanced features, high performance and flexibility required of RAID controllers, another key requirement is low cost. Many RAID systems use redundant controllers to increase reliability. The cost of the RAID controller may have a significant impact on the overall system cost. Entry level RAID systems are particularly price sensitive and must maintain a low cost per gigabyte of storage even with relatively small arrays of storage devices. Reducing the cost of key components, for example by making volume purchases without accumulating unneeded inventory, is crucial to lowering the cost of a RAID controller.
Another factor contributing to the cost of RAID systems is the opportunity cost associated with time-to-market. The inability to meet rising demand of a new product or market segment may significantly reduce or entirely eliminate prospective profits. Being the first to market with the right combination of features, price and performance is crucial for market success and the long term prospects of manufacturers of RAID systems.
What is needed is a mechanism to develop and customize a RAID controller quickly and at a low cost. Such a mechanism should facilitate cost effective procurement practices, reduce the time to market for new products, and leverage the high development and component cost of the core elements of a RAID controller.
The apparatus of the present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available RAID controllers. Accordingly, it is an overall object of the present invention to provide an improved method and apparatus for customizing and deploying a RAID controller that overcomes many or all of the above-discussed shortcomings in the art.
To achieve the foregoing object, and in accordance with the invention as embodied and broadly described herein in the preferred embodiments, an apparatus and method for customizing and deploying a modular RAID controller is provided wherein the functionality and components of a RAID controller are partitioned into a controller core card and a controller interface card.
The controller interface card contains those components and features that are generally unique to a particular customer or product such as I/O connectors, power control including battery backup, status indicators, hot swap features, configuration options and the like. The controller interface card is designed to match the physical constraints and form factor of a particular product or manufacturer. Design and development of these features are typically low-cost, straightforward and well known in the art. Generally, these features may be developed and produced as needed without significantly impacting delivery schedules and production costs.
The controller core card contains those components associated with costly development and production such as control processor, storage cache, XOR function, and channel controllers. These are also typically the components that are most easily standardized over a broad variety of systems and applications. Overall product cost is minimized by designing, developing, manufacturing and stocking a single common controller core card that is standardized across many RAID systems and their various form factors and value added features. Inventory costs are minimized and forecasting errors offset by using the same controller core card for multiple customers or product lines.
In one embodiment, the controller core card is a daughter card that mates with the controller interface card via a storage connector and a host connector. The storage connector and the host connector provide physical and electrical connectivity between the controller core card and the controller interface card.
In the preferred embodiment, the signals carried by storage and host connectors are selected to minimize the complexity of interfacing the controller core card with the controller interface card. The storage connector carries those signals generally associated with storage devices and arrays including power control signals, whereas the host connector carries those signals generally associated with the host such as system status signals. The storage connector and the host connector also carry the data being transmitted to and from the storage disks, preferably using a fibre channel interface.
These and other objects, features, and advantages of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.